const questInfo = {
  pagenum: 1,
  pagesize: 2,
  cate_id: '',
  state: '',
}

let total = 0
const loadArticleList = async () => {
  const res = await reqArticleListGet(questInfo)
  console.log(res)
  if (res.status !== 0) {
    return layer.msg(res.message, { time: 1500, icon: 2 })
  }
  total = res.total
  $('.layui-table tbody').empty()
  res.data.forEach(item => {
    var theTr = `
    <tr>
        <td>${item.title}</td>
        <td>${item.cate_name}</td>
        <td>${moment(item.pub_date).format('YYYY-MM-DD HH:mm:ss')}</td>
        <td>${item.state}</td>
        <th>
        <a href="/iframe/article/publisher/publisher.html?id=${
          item.Id
        }" class="layui-btn layui-btn-xs">编辑</a>
        <button myid="${
          item.Id
        }" type="button" class="layui-btn layui-btn-xs layui-btn-danger del">删除</button>
        </th>
    </tr>
    `
    $('.layui-table tbody').append(theTr)
  })
  // 生成分页器
  setPage()
}
loadArticleList()

// 获取筛选分类数据
const getCates = async () => {
  $('select[name=category]').append(
    `<option value="" lay-verify="cate">所有分类</option>`
  ) // 默认选项- 默
  const res = await reqArticleCatesGet()
  console.log(res)
  res.data.forEach(item => {
    $('select[name=category]').append(
      `<option value="${item.Id}" lay-verify="cate">${item.name}</option>`
    )
  })
  // 渲染动态创建表单元素 option
  // form.render(type, filter) 参数一是类型 select checkbox radio 参数2是表单lay-filter的值
  layui.form.render('select', 'category')
}
getCates()

// 筛选数据
$('.search').on('submit', e => {
  e.preventDefault()
  questInfo.cate_id = $('select[name=category]').val()
  questInfo.state = $('select[name=state]').val()
  // 重新获取数据
  loadArticleList()
})

function setPage() {
  layui.laypage.render({
    elem: 'page', // 盛放分页的容器  id不加#号
    count: total, // 总条数
    limit: questInfo.pagesize, // 每页显示的条数
    limits: [2, 4, 6, 8], // 每页条数的选择项
    curr: questInfo.pagenum, // 当前页码
    layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
    // jump 函数上来回默认执行一次，点击切换会再次执行这个函数
    // obj 当前分页的所有信息
    // first 是一个布尔值 第一次执行结果是true 点击执行 first是undefined
    jump: function (obj, first) {
      console.log(obj, first)
      if (!first) {
        // 用户点击操作的
        // obj中有两个属性需要更新 处理 curr  limit
        questInfo.pagenum = obj.curr
        questInfo.pagesize = obj.limit
        loadArticleList()
      }
    },
  })
}
